热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

分享|3D目标检测方法总结

3D目标检测目前主要的应用场景就是自动驾驶,自动驾驶车不仅仅需要识别障碍物的类型,还需要识别物体的精确位置和朝向。以提供信息给规划控制模块,

3D目标检测目前主要的应用场景就是自动驾驶,自动驾驶车不仅仅需要识别障碍物的类型,还需要识别物体的精确位置和朝向。以提供信息给规划控制模块,规划出合理的线路。

图片

3D目标检测

一、3D目标检测方法

自从2017年以来3D目标检测涌现出了很多经典算法,下面整理了一些算法的时间线。

图片

3D目标检测方法

3D目标检测方法无外乎以下几种。

根据输入类型(传感器种类)来划分,目前3D目标检测的方法分为:

  • 单模(Lidar)

  • 多模(Lidar+Camera、Radar+Camera)

根据特征提取的方法来划分,主要分为以下4种:

  • Point Clouds - 基于原始点进行特征提取

  • Voxel - 把点云划分成一个个的网格,然后提取网格的特征

  • Graph - 利用图的方式,对半径R内的点建立图,然后提取特征

  • 2D View - 把3D投影到2D平面,大部分采用BEV视角,然后用2D卷积提取特征

下图分别描述了上述4种特征提取方式:

图片

特征提取示意图

二、Voxelnet

2017年 CVPR Apple公司提出的基于voxel的特征提取方法。

图片

对点云进行网格化,得到规则的特征,然后进行3D卷积。

三、PointNet++

2017年 CVPR 是PointNet的改进,基于原始点提取特征。

图片

采样算法是最远点采样(farthest point sampling, FPS),相对于随机采样,这种采样算法能够更好地覆盖整个采样空间。

点云数据中的一个点的局部由其周围给定半径的球形空间内的其他点构成。

四、MV3D

2017年 CVPR - 百度和清华提出,3D投影到2D平面,多模态融合了Lidar和Camera数据。

图片

其中BEV视角对高度进行切片,切片数量为M,加上密度图和强度图,总共生成M+2个特征图。

图片

FV视角把雷达投影到圆柱体之后再展开到2维平面。

图片

融合方式采用的是深度融合(Deep fusion)。

图片

五、PIXOR

2018年CVPR Uber one-stage, Lidar only

为什么要把PIXOR单独拿出来,因为PIXOR和MV3D都是采用把3D视图投影到2D视图的方法,而PIXOR只采用了BEV视角的特征,效果却比MV3D还要好,所以证明BEV视角非常关键。

图片

六、PointPillars

2019年 CVPR Aptiv

新的点云编码方式,是对SECOND方法的改进。

图片

七、Point-GNN

2020年 CVPR - Carnegie Mellon University

引入了图神经网络对点云3D特征进行提取

首先论文介绍了3D特征提取的3种方式:投影到2D,聚类点集、图

图片

接下来介绍了图神经网络的结构:

图片

新的3D点云特征的表达方式,缺点是速度慢643ms(Xeon E5-1630 CPU and GTX 1070 GPU),并且雷达线数下降的时候,精度下降很明显。

八、总结

最后对3D物体检测做了一些思考和总结:

  • 特征提取。不管是根据Voxel,Point Cloud还是投影到BEV,到底如何更好的表示3维特征是后面关注的重点?

  • 融合方式。单传感器存在诸多局限,采用多传感器融合是趋势,但是如何融合数据,前融合、后融合还是深度融合?

  • 3D Proposal。目前效果比较好的方法普遍是two-stage检测,如何提取有效的提取推荐区域非常关键(一是减少计算量,二是提高精度)。

  • Encoder-Decoder。最新的方法普遍采用了生成方法来提高分辨率。

  • 语义信息。后续是否加入语义信息来帮助理解,比如汽车轮子、环境信息等。

  • 线束降低。低线束下的模型性能评估?有助于减少成本,以后低线束的雷达和高线速的雷达价格差距大吗?

来源:知乎

作者:王方浩


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 本文由编程笔记#小编整理,主要介绍了关于数论相关的知识,包括数论的算法和百度百科的链接。文章还介绍了欧几里得算法、辗转相除法、gcd、lcm和扩展欧几里得算法的使用方法。此外,文章还提到了数论在求解不定方程、模线性方程和乘法逆元方面的应用。摘要长度:184字。 ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • 本文介绍了brain的意思、读音、翻译、用法、发音、词组、同反义词等内容,以及脑新东方在线英语词典的相关信息。还包括了brain的词汇搭配、形容词和名词的用法,以及与brain相关的短语和词组。此外,还介绍了与brain相关的医学术语和智囊团等相关内容。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 词袋模型的通俗介绍
    词,袋, ... [详细]
  • 2018深入java目标计划及学习内容
    本文介绍了作者在2018年的深入java目标计划,包括学习计划和工作中要用到的内容。作者计划学习的内容包括kafka、zookeeper、hbase、hdoop、spark、elasticsearch、solr、spring cloud、mysql、mybatis等。其中,作者对jvm的学习有一定了解,并计划通读《jvm》一书。此外,作者还提到了《HotSpot实战》和《高性能MySQL》等书籍。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 技嘉秀高端B450主板:不再支持第七代APU,性价比高且兼容锐龙一代和二代
    在台北电脑展上,技嘉展示了一款高端的B450主板,型号为“b450 aorus pro wi-fi”。该主板具有10+1相供电、散热片覆盖的供电区域和芯片组,以及两个m.2插槽和背部IO挡板。虽然不支持第七代APU bristol ridge,但它兼容锐龙一代和二代,且具有较高的性价比。该主板还配备了音频声卡、Wi-Fi无线网卡等功能,是一款性能出色且设计精良的主板。 ... [详细]
author-avatar
ub皓祉
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有